from transformers import pipeline



#推理
#文本续写
generator = pipeline("text-generation", model="gpt2")
outputs = generator(
    "人工智能的未来趋势是", 
    max_length=50, 
    num_return_sequences=2,
    temperature=0.7  # 控制生成随机性
)
print(outputs["generated_text"])[1]

#跨模态任务
#语音识别（ASR）
transcriber = pipeline(
    "automatic-speech-recognition", 
    model="openai/whisper-large-v2"
)
audio_url = " ./audio.flac "
result = transcriber(audio_url)
print(result["text"])  # 输出转录文本

#图像分类
vision_classifier = pipeline("image-classification")
result = vision_classifier(" https://example.com/image.jpg ")
print(result["label"])[5] 

# GPU加速与自动设备分配
pipe = pipeline("text-classification", device="cuda:0")  # 或 device_map="auto"

# 批量推理提升速度
batch_texts = ["文本1", "文本2", "文本3"]
results = pipe(batch_texts, batch_size=4)[3]

#自定义模型与分词器
from transformers import AutoModel, AutoTokenizer,AutoModelForSequenceClassification

model = AutoModel.from_pretrained("uer/roberta-base-chinese")   # 加载模型
tokenizer = AutoTokenizer.from_pretrained("uer/roberta-base-chinese")  # 自定义分词器 ，一定要与模型一致

custom_pipe = pipeline("text-classification", model=model, tokenizer=tokenizer)[4]


model =  AutoModelForSequenceClassification.from_pretrained("uer/roberta-base-chinese")  #语义分类模型加载

"""
实战技巧

任务列表查询：通过SUPPORTED_TASKS查看所有支持的任务类型（如audio-classification、document-question-answering等）。
参数动态覆盖：临时修改生成参数（如temperature或repetition_penalty）。
多语言支持：指定不同语言的翻译模型（如Helsinki-NLP/opus-mt-zh-en中英翻译）。


完整任务类型参考
Transformers的pipeline支持28类任务，包括但不限于：
NLP：text-classification, ner, translation, question-answering
语音：automatic-speech-recognition, audio-classification
视觉：image-segmentation, object-detection
多模态：document-question-answering, image-to-text
"""
####################
#基于bert的全量微调
#BERT模型作为自然语言处理领域的里程碑式突破，通过微调(Fine-Tuning)可以适应各种下游任务。
####################





####################
#基于Qwen的PEFT微调   lora
####################
